package ch.janotta.slawo.da.tables;

import java.util.HashMap;

import ch.janotta.slawo.da.CharacterClass;

public final class CharacterClassModifiersTableFactory {
  private static HashMap<CharacterClass, CharacterClassModifiersTable> MODIFIERS_TABLE = new HashMap<>();
  static {
    MODIFIERS_TABLE.put(CharacterClass.ROGUE,   new RogueModifiersTable());
    MODIFIERS_TABLE.put(CharacterClass.WARRIOR, new WarriorModifiersTable());
    MODIFIERS_TABLE.put(CharacterClass.MAGE,    new MageModifiersTable());
  }

  // Disable the constructor. No instantiation of class possible.
  private CharacterClassModifiersTableFactory() {}

  public static CharacterClassModifiersTable getCharacterClassModifiersTable(CharacterClass characterClass) {
    return MODIFIERS_TABLE.get(characterClass);
  }
}
